#pragma once

#include "Effect.h"

#include <string>
using namespace std;

/* CvtColorEffect class
 * inherits the interface from Effect
 * usec the opencv cvtColor function
 */
class CvtColorEffect : public Effect{
public:
    /* CvtColorEffect c'tor
     * validates the parameters and saves them for later use
     */
	CvtColorEffect(string code);
    /* runs CvtColor on the given matrix.
     * returns a new Matrix with the manipulated
     * throws: only opencv exceptions
     * ** don't try this on an image that is already B&W
     */    
    virtual Mat run(const Mat& src);
private:
    int code;
};
